home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 October: Mac OS SDK / Dev.CD Oct 96 SDK / Dev.CD Oct 96 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / ODFDev / ODF / Framewrk / FWPart / Include / FWInter.h < prev    next >
Encoding:
Text File  |  1996-08-16  |  4.1 KB  |  146 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWInter.h
  4. //    Release Version:    $ ODF 1 $
  5. //
  6. //    Copyright:    (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #ifndef FWINTER_H
  11. #define FWINTER_H
  12.  
  13. #ifndef FWPRTDEF_H
  14. #include "FWPrtDef.h"
  15. #endif
  16.  
  17. // ----- Foundation Includes -----
  18.  
  19. #ifndef FWSTDDEF_H
  20. #include "FWStdDef.h"
  21. #endif
  22.  
  23. #ifndef FWRUNTYP_H
  24. #include "FWRunTyp.h"
  25. #endif
  26.  
  27. #ifndef FWTCOLL_H
  28. #include "FWTColl.h"
  29. #endif
  30.  
  31. // ----- OpenDoc Includes -----
  32.  
  33. #ifndef _ODTYPES_
  34. #include <ODTypes.h>
  35. #endif
  36.  
  37. //========================================================================================
  38. //    Forward Declarations
  39. //========================================================================================
  40.  
  41. class ODStorageUnit;
  42. class ODPasteAsResult;
  43. class ODDraft;
  44.  
  45. class FW_CPart;
  46. class FW_CFrame;
  47. class FW_CCloneInfo;
  48. class FW_CPromise;
  49. class FW_CSelection;
  50. class FW_CContent;
  51. class FW_CPromise;
  52. class FW_CLinkSource;
  53.  
  54. //========================================================================================
  55. //    class FW_CDataInterchange
  56. //========================================================================================
  57.  
  58. class FW_CDataInterchange
  59. {
  60.     friend class FW_CPromiseIterator;
  61.     
  62. //----------------------------------------------------------------------------------------
  63. //    Initialization/Destruction
  64. //
  65. public:    
  66.     FW_CDataInterchange(Environment* ev, FW_CPart* part);
  67.     virtual ~FW_CDataInterchange();
  68.  
  69. //----------------------------------------------------------------------------------------
  70. //    Public API
  71. //
  72. public:
  73.  
  74.     virtual void                    ExternalizeData(Environment* ev, 
  75.                                               FW_CContent* content,
  76.                                             FW_CFrame* scopeFrame,
  77.                                             ODStorageUnit* destinationSU, 
  78.                                               FW_EStorageKinds storageKind, 
  79.                                             ODCloneKind cloneKind);
  80.     
  81.     virtual FW_EInternalizeResult    InternalizeData(Environment* ev, 
  82.                                               FW_CContent* content,
  83.                                             FW_CFrame* scopeFrame,
  84.                                             ODStorageUnit* sourceSU, 
  85.                                             FW_EStorageKinds storageKind, 
  86.                                             ODCloneKind cloneKind,
  87.                                             ODPasteAsResult* embedAsInfo);
  88.  
  89.     void                            ResolveClipboardPromise(Environment* ev);
  90.     void                            ResolveAllPromises(Environment* ev);
  91.  
  92. //----------------------------------------------------------------------------------------
  93. //    For Internal Use Only
  94. //
  95. public:
  96.     virtual void                    PrivPostInternalizeData(Environment* ev, 
  97.                                             FW_CContent* content,
  98.                                             FW_CCloneInfo* cloneInfo,
  99.                                             FW_EInternalizeResult result);
  100.                             
  101.     virtual void                    PrivHandleExternalizeData(Environment* ev, 
  102.                                             FW_CContent* content,
  103.                                             ODStorageUnit* destinationSU, 
  104.                                             FW_EStorageKinds storageKind, 
  105.                                             FW_CCloneInfo* cloneInfo);
  106.     virtual FW_EInternalizeResult    PrivHandleInternalizeData(Environment* ev, 
  107.                                             FW_CContent* content,
  108.                                             ODStorageUnit* sourceSU, 
  109.                                             FW_EStorageKinds storageKind, 
  110.                                             FW_CCloneInfo* cloneInfo);
  111.  
  112.     // ----- Promises -----
  113.     void                             PrivDeletePromises(Environment *ev, 
  114.                                             FW_EStorageKinds storageKind);    
  115.     void                            PrivPromise(Environment *ev, 
  116.                                             FW_CPromise* promise,
  117.                                             ODStorageUnit* storageUnit, 
  118.                                             ODPropertyName propertyName, 
  119.                                             ODValueType valueType);
  120.     void                             PrivDeleteLinkPromises(Environment *ev, 
  121.                                             FW_CLinkSource* linkSource);
  122.     ODUpdateID                        PrivGetLastClipboardUpdateID(Environment* ev) const;
  123.     void                             PrivPromiseDeleted(Environment *ev, 
  124.                                             FW_CPromise* promise);
  125.  
  126. protected:
  127.     virtual FW_EInternalizeResult    PrivHandleEmbedAs(Environment* ev, 
  128.                                             FW_CContent* content,
  129.                                             ODStorageUnit* sourceSU,
  130.                                             FW_CCloneInfo* cloneInfo,
  131.                                             ODPasteAsResult* embedAsInfo);                        
  132.  
  133. //----------------------------------------------------------------------------------------
  134. //    Data Members
  135. //
  136. protected:
  137.     FW_CPart*                            fPart;
  138.  
  139. private:
  140.     FW_TOrderedCollection<FW_CPromise>*    fLinkPromises;
  141.     FW_CPromise*                        fClipboardPromise;
  142.     FW_CPromise*                        fDragAndDropPromise;
  143. };
  144.  
  145.  
  146. #endif